package 数组;

/**
 * https://leetcode.cn/problems/hamming-distance/
 *
 * 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
 *
 * 给你两个整数 x 和 y，计算并返回它们之间的汉明距离。
 */
public class
_461_汉明距离 {

    public int hammingDistance(int x, int y) {
        // 异或运算
        int s = x ^ y;
        int result = 0;
        while (s != 0){
            // 因为1的二进制为1，所以能遍历最低位的1的情况
            result += s & 1;
            s >>=1;
        }
        return result;
    }
}
